import request from '@/utils/request'

// info    GET   /admin/acl/index/info
// login   POST  /admin/acl/index/login
// logout  POST  /admin/acl/index/logout

interface loginModel {
  username: string,
  password: string
}

interface tokenModel {
    token: string
  }

  export interface userinfoModel { // 这个类型是 userinfo 接口返回数据类型,存到state中
    avatar: string,
    name: string,
    buttons: string[],
    roles: string[],
    routes: string[]
  }

export default {
    //拿token
  login(data: loginModel) {
    return request.post<any,tokenModel>(`/admin/acl/index/login`, data)
  },
  // 获取用户信息的时候,通过请求头携带token获取用户信息
  info() {
    return request.get<any,userinfoModel>(`/admin/acl/index/info`)
  },
   // 退出登录没有参数,使用请求头携带的token退出,让当前 token 失效
  logout() {
    return request.post<any, null>(`/admin/acl/index/logout`)
  }
} 